[MFC]在程序中访问对话框中的控件 |
您所在的位置:网站首页 › mfc 参数 › [MFC]在程序中访问对话框中的控件 |
1. 使用GetDlgItem函数来访问对话框中的控件: 1) 函数原型:CWnd* CWnd::GetDlgItem(int nID) const; 2) 只要参数指定为要访问的控件的ID,即可返回该控件的指针,但要注意的是返回的是CWnd*类型的指针,是所有窗口类型的父类;
2. 安全地利用GetDlgItem返回的指针来访问控件: 1) 如果想访问的是CWnd就有的功能则可以不做任何处理直接访问,例如: CWnd* pWnd = GetDlgItem(IDC_CHECK); pWnd->EnableWindow(TRUE);!由于使控件(或窗口)有效的函数EnableWindow直接继承自CWnd,因此可以不做任何处理放心地使用;2) 拙劣而危险的用法——强类型转换: i. 如果想访问控件特有的功能,则可以尝试将GetDlgItem的返回值强制转换为控件所对应的类型,例如: CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST); pListBox->AddString(_T("One")); ii. 上面的代码之所以可以运行那是因为MFC对CListBox这种控件有特殊的支持,换做其它的,例如CComboBox就会失效!!iii. 绝对不推荐用这种方法来访问控件的特有功能 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |